package com.kgc.ssm.service;

import com.kgc.ssm.bean.User;

import java.util.List;

/**
 * Created On : 2022/8/23 0023.
 * <p>
 * Author : shiguangchuan
 * <p>
 * Description: UserService
 */
public interface UserService {

    /**
     * @author : shiguangchuan
     * @date   : 2022/8/12
     * @param  : [loginCode, loginPwd]
     * @return : boolean
     * @description : 校验用户登录信息是否正确
     */
    User getLoginUserInfo(String loginCode, String loginPwd);

    /**
     * @author : shiguangchuan
     * @date   : 2022/8/12
     * @param  : [queryName, queryRole]
     * @return : java.util.List<com.kgc.smbms.bean.User>
     * @description : 根据条件，查询用户列表
     */
    List<User> getUserListByCondition(String queryName, Integer queryRole);

    /**
     * @author : shiguangchuan
     * @date   : 2022/8/12
     * @param  : [userId]
     * @return : com.kgc.smbms.bean.User
     * @description : 根据用户编号，获取用户详情
     */
    User getUserById(Integer userId);

    /**
     * @author : shiguangchuan
     * @date   : 2022/8/12
     * @param  : [userForm]
     * @return : void
     * @description : 修改用户详情
     */
    void modUserInfo(User userForm);

    /**
     * @author : shiguangchuan
     * @date   : 2022/8/12
     * @param  : [userId]
     * @return : void
     * @description : 删除用户详情
     */
    void delUserInfo(Integer userId);

    /**
     * @author : shiguangchuan
     * @date   : 2022/8/12
     * @param  : [userForm]
     * @return : void
     * @description : 添加用户详情
     */
    void addUserInfo(User userForm);

    /**
     * @author : shiguangchuan
     * @date   : 2022/8/15
     * @param  : [queryName, queryRole]
     * @return : int
     * @description : 根据条件，获取用户总条数
     */
    int getUserCountByCondition(String queryName, Integer queryRole);

    /**
     * @author : shiguangchuan
     * @date   : 2022/8/15
     * @param  : [queryName, queryRole, pageNo, pageSize]
     * @return : java.util.List<com.kgc.smbms.bean.User>
     * @description : 根据条件，查询用户列表，带分页
     */
    List<User> getUserListPageByCondition(String queryName, Integer queryRole, Integer pageNo, Integer pageSize);

    /**
     * @author : shiguangchuan
     * @date   : 2022/8/15
     * @param  : [userId, userPwd]
     * @return : boolean
     * @description : 根据用户编号，修改用户面面
     */
    boolean modUserPwd(Integer userId, String userPwd);
}
